/**
 * 代替JSON.parse, 内置捕获
 */
export function safeJsonParse(target: string, defaultValue: any = {}) {
  let result = defaultValue;
  if (target && Object.prototype.toString.call(target) === '[object String]') {
    try {
      result = JSON.parse(target);
    } catch (error) {
      console.warn('JSON.parse报错：', error);
    }
  }
  return result;
}

/**
 * 代替JSON.stringify, 内置捕获, 返回undefined则是异常
 */
export function safeJsonStringify(target: any): string | undefined {
  let result: string | undefined = undefined;
  try {
    result = JSON.stringify(target);
  } catch (error) {
    console.warn('JSON.stringify报错：', error);
  }
  return result;
}